Zobrazeni/aktualizace Applicat ion.Hint pri delsim vypoctu

Otázka od: Ing. Jiri Sokol

6. 8. 2004 7:37

Ahoj panove!
Mam zrejme primitivni dotaz, ale nevim si s nim uz delsi dobu rady - potrebuju
nakopnout.
Mam proceduru, ze ktere bych chtel zobrazovat nejaky text - delam to pres
Application.Hint.
Muzete mi poradit jakou zpravu mam zaslat aplikaci, aby se ten Hint okamzite
aktualizoval. Do ted to je reseno tak, ze po aktualizaci Application.Hint je
provedeno Application.ProcessMessage, ale to zpucobuje jine problemy a tak bych
tohle chtel odbourat.
Diky za nakopnuti.
Jirka
--------------------------------------------------
Ing. Jiri Sokol; jiri.sokol@seznam.cz; 972 231 187
D6Prof+SP3; WinXPProf+SP1; FB 1.5.0
programator amater



Odpovedá: Milan Tomes

6. 8. 2004 8:05

IMHO si trochu odporujes - preci ProcessMessages zpusobuje prave ono
zpracovani fronty zprav. Pokud musis tuhle metodu volat, tak mas
zaneprazdneny hlavni thread aplikace a tudiz se v ten okamzik fronta zprav
nezpracovava. Kdyz posles nejakou dalsi zpravu, tak se opet jen zaradi do
fronty a nezpracuje se... Pokud potrebujes reagovat okamzite, tak jedine
reseni je zavolat primo nejakou metodu, ktera se postara o vykresleni nebo
treba poslat zpravu pomoci SendMessage (ta zavola primo WndProc ciloveho
okna a vlastne potom ceka na ukonceni zpracovani tehle zpravy)...

S pozdravem

Milan Tomes

> [mailto:delphi-l-owner@clexpert.cz]On Behalf Of Ing. Jiri Sokol
> Sent: Friday, August 06, 2004 8:37 AM
>
> Muzete mi poradit jakou zpravu mam zaslat aplikaci, aby se ten
> Hint okamzite aktualizoval. Do ted to je reseno tak, ze po
> aktualizaci Application.Hint je provedeno
> Application.ProcessMessage, ale to zpucobuje jine problemy a tak


Odpovedá: Ing. Jiri Sokol

6. 8. 2004 8:31

> Od: Milan Tomes <delphi@haida.cz>
> Datum: 06.08.2004 09:11:47
>
> IMHO si trochu odporujes - preci ProcessMessages zpusobuje prave ono
> zpracovani fronty zprav. Pokud musis tuhle metodu volat, tak mas
> zaneprazdneny hlavni thread aplikace a tudiz se v ten okamzik fronta zprav
> nezpracovava. Kdyz posles nejakou dalsi zpravu, tak se opet jen zaradi do
> fronty a nezpracuje se... Pokud potrebujes reagovat okamzite, tak jedine
> reseni je zavolat primo nejakou metodu, ktera se postara o vykresleni nebo
> treba poslat zpravu pomoci SendMessage (ta zavola primo WndProc ciloveho
> okna a vlastne potom ceka na ukonceni zpracovani tehle zpravy)...
>
> S pozdravem
>
> Milan Tomes
Ahoj!
Jsem fakticky trotl. Ja jsem si to uvedomil po odeslani tohohle dotazu, ze
zpravou to asi nepujde... No ale je teda nejaky zpusob? Pletu se? - ale
SendMessage posle zpravu a ceka na jeji ukonceni/zpracovani - je to resenim
meho problemu? Zpracuje se ta zprava i kdyz jeste nedobehl ten vypocet? Budou
se zpracovavat i dalsi zpravy a nebo jen tahle? (to je totiz muj problem, proc
nechci a nemuzu delat Application.ProcessMessage) Pokud ano, jakou zpravu bych
mel poslat? Mam problem, ze ja presne nevim, v kterem okne se bude
Application.Hint zobrazovat a tak by bylo reseni to poslat primo aplikaci, at
si to ridi sama...
Pozn: Uff, tohle jsem nepsal, pouze se mi to nechce prepisovat, ale asi mi nic
jineho nezbyde, jenze to stoji cas a ten mi desne chybi!!!
Diky vsem za napady jak to resit!
Jirka
--------------------------------------------------
Ing. Jiri Sokol; jiri.sokol@seznam.cz; 972 231 187
D6Prof+SP3; WinXPProf+SP1; FB 1.5.0
programator amater

Odpovedá: Milan Tomes

6. 8. 2004 9:41

No SendMessage je v podstate zavolani WndProc a ceka se na dokonceni
zpracovani te zpravy. Jenze v tomhle a podobnych pripadech se musim
priklonit k tomu co zde jiz asi tisickrat napsal P. Vones:
"Spatny navrh
aplikace - tohle musi bezet ve zvlastnim threadu"  

S pozdravem

Milan Tomes

> [mailto:delphi-l-owner@clexpert.cz]On Behalf Of Ing. Jiri Sokol
> Sent: Friday, August 06, 2004 9:27 AM
>
> zpusob? Pletu se? - ale SendMessage posle zpravu a ceka na jeji
> ukonceni/zpracovani - je to resenim meho problemu? Zpracuje se ta
> zprava i kdyz jeste nedobehl ten vypocet? Budou se zpracovavat i


Odpovedá: Petr Vones

8. 8. 2004 13:34

From: "Milan Tomes" <delphi@haida.cz>
> zpracovani te zpravy. Jenze v tomhle a podobnych pripadech se musim
> priklonit k tomu co zde jiz asi tisickrat napsal P. Vones:
"Spatny navrh
> aplikace - tohle musi bezet ve zvlastnim threadu"  

A ja to pripomenu po tisic jedne   Vetsina pokusu o reseni bez dalsiho
threadu vede jen k problemum, ktere se navic mohou projevit jen za urcitych
okolnosti.

Petr Vones